int led = 2;   // 定义板子上的数字2口接led负极引脚
int key = 4;   // 定义板子上的数字4口接开关的任一引脚
int flag = 0;  // 定义小灯状态 0熄灭 1点亮

void setup() {
  pinMode(led, OUTPUT);        // 定义led引脚为输出模式 (此时引脚的电平状态未知)
  pinMode(key, INPUT_PULLUP);  // 定义按键为输入模式，PULLUP 表示默认启用上拉电阻，即当按下开关按钮时开关会接地，系统得到一个低电平信号
  digitalWrite(led, HIGH);     // 确保初始为高电平，LED 处于熄灭状态 （arduion默认也是）
}

void loop() {
  if (digitalRead(key) == LOW) {  // 按键按下时，arduino会收到一个低电平信号
    if (flag == 0) {
      flag = 1;                // 标识小灯亮起
      digitalWrite(led, LOW);  // 小灯的负极接收低电平信号，导通电路，点亮小灯
    } else {
      flag = 0;                 // 标识小灯熄灭
      digitalWrite(led, HIGH);  // 小灯负极接收高电平信号，断开电路，熄灭小灯
    }
    while (!digitalRead(key))
      ;  // 按键释放时候退出循环，防止按键按下多次触发
  }
}
